package com.wgh.pay.dto;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 退款DTO
 * 用于API请求和响应中的退款信息传递
 */
@Data
public class RefundDTO implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 退款记录ID
     */
    private Long id;

    /**
     * 订单ID
     */
    private Long orderId;

    /**
     * 支付交易流水号
     */
    private String transactionId;

    /**
     * 退款流水号
     */
    private String refundTransactionId;

    /**
     * 退款金额
     */
    private BigDecimal refundAmount;

    /**
     * 原支付金额
     */
    private BigDecimal originalAmount;

    /**
     * 退款原因
     */
    private String refundReason;

    /**
     * 退款状态：0-退款中，1-退款成功，2-退款失败
     */
    private Integer refundStatus;

    /**
     * 申请退款时间
     */
    private LocalDateTime applyTime;

    /**
     * 退款完成时间
     */
    private LocalDateTime refundTime;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
}